/* 
 * File:   image.h
 * Author: bjorn
 *
 * Created on September 4, 2007, 10:53 PM
 */

#ifndef _IMAGE_H
#define	_IMAGE_H

#include "object.h"
#include "rope.h"
#include <SDL/SDL.h>

#ifdef	__cplusplus
extern "C" {
#endif

struct SDL_Surface;
typedef SDL_Surface * Image;    

extern int image_wide(Image self);
extern int image_high(Image self); 

Image image_load_c(const char * filename); 
Image image_load(Rope filename);
extern Image image_free(Image self);
extern Image image_fill_all(Image self, int r, int g, int b );


extern Image image_blit_size(
                                Image target, int tar_x, int tar_y, 
                                Image source, int src_x, int src_y, 
                                              int src_w, int src_h  
                             ); 

extern Image image_blit(Image target, int tar_x, int tar_y, Image source ); 

#ifdef	__cplusplus
}
#endif

#endif	/* _IMAGE_H */

